home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…rary 6 (Reseller Edition) / Apple Ref. & Pres. Lib.v6.0.toast / pc / 3-Presentations / Apple Demos / Training / HyperCard 2.0 Training / Intro to HyperCard 2.0 / stack.txt < prev   
Text File  |  1990-08-24  |  10KB  |  351 lines

  1. -- stack: in.0
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x1000 (none)
  4. -- protect password hash: 0
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 15
  11. -- first background id: 2728
  12. -- card count: 110
  13. -- first card id: 56725
  14. -- list block id: 25402
  15. -- print block id: 16687
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 2
  19. -- free size: 1248 bytes
  20. -- total size: 409600 bytes
  21. -- stack block size: 12800 bytes
  22. -- created by hypercard version: 0x01228000
  23. -- compacted by hypercard version: 0x01258000
  24. -- modified by hypercard version: 0x01258000
  25. -- opened by hypercard version: 0x01258000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x8000000008000000
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0x8888222288882222
  30. -- patterns[4]: 0x88AA22AA88AA22AA
  31. -- patterns[5]: 0xCCAA33AACCAA33AA
  32. -- patterns[6]: 0xEEAABBAAEEAABBAA
  33. -- patterns[7]: 0xEEBBBBEEEEBBBBEE
  34. -- patterns[8]: 0xFFBBFFEEFFBBFFEE
  35. -- patterns[9]: 0xFFBBFFFFFFBBFFFF
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x038448300C020101
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0x7600BB00CE00B500
  59. -- patterns[33]: 0xAA00000055000000
  60. -- patterns[34]: 0x428852248228A451
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. -- ================ Apple Training Support =================
  69. --
  70. -- Project Name: HyperCard 2.0 Product Training
  71. --
  72. -- Apple employees:
  73. -- Design and Development: Jeff Brechlin
  74. -- Team Leader: Mary VanRiper
  75. --
  76. -- Contractors:
  77. -- Design/Animations: Anne Wysocki
  78. -- Programmers: Gabriel Acosta, Kristi Wachter, Anne Wysocki
  79. -- Last modified: April 6, 1990
  80. -- ========================================================
  81.  
  82. -- ========================================================
  83. -- XCMD's:
  84. --   in this stack:
  85. --     ZoomRect
  86. --     SetVolume : ¬© by Steven Kienle
  87. --     TitleBar : by Chris Knepper, ¬© 1988 by Apple Computer, Inc.
  88. --   in stack ‚Ä¢HC 2.0-2:
  89. --     Studio1 : ¬© 1989 by Electronic Arts
  90. --     PaintPICT : ¬© 1989 by Ruben Pinchanski
  91. --     SaveColorState
  92. --     SetColorState
  93. --     GetMaxColors
  94. --     ShowDialog
  95. -- XFCN's:
  96. --   in this stack:
  97. --     SysEnv()
  98. --   in stack ‚Ä¢HC 2.0-2:
  99. --     Hpopupmenu() : Hierarchical PopupMenu 1.2, ¬© 1988-1989 by
  100. --        Guy de Picciotto, its author, All Rights Reserved
  101. -- ========================================================
  102.  
  103.  
  104.  
  105. -- ========================================================
  106. -- OPENSTACK HANDLERS
  107. --
  108. -- Globals
  109. --      WalkDelay: the number of ticks between Elmo's steps
  110. --      disSpeed:  the speed to use for visual dissolves
  111. --      StdDelay:  a standard delay for hilites and card transitions
  112. --      MapMode:   tells what map to go to
  113. --      UpEdge:    the Y coord where the flying btn stops on menu anis
  114. --
  115.  
  116. on openStack
  117.   global gFirstTime
  118.   if gFirstTime is "no" then pass openStack
  119.   lock screen
  120.   checkVersion  --  make sure they have HC 1.2.2 or later
  121.   setupStuff    --  hide menubar; set userlevel and volume
  122.   setGlobals    --  set up global variables (delays, etc.)
  123.   put "no" into gFirstTime
  124.   put line 1 of cd fld "Bookmark" of cd "Hi" into dest
  125.   put line 2 of cd fld "Bookmark" of cd "Hi" into stackDest
  126.   if dest is not empty then
  127.     go cd dest of stack stackDest
  128.     unlock screen with visual dissolve
  129.   else
  130.     --‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢ I removed the openCard handler from the black card...
  131.     ---- so now everything happens as a result of this:
  132.     ---- (and that there is now a new blank card as card 1)
  133.     unlock screen with dissolve
  134.     visual iris open
  135.     go cd "Black Intro Card"
  136.     wait 20
  137.     visual iris open slow
  138.     go cd "hi"
  139.     wait 30
  140.     lock screen
  141.     show cd fld "instructionFld"
  142.     unlock screen with wipe right
  143.   end if
  144. end openStack
  145.  
  146. -- make sure the user has HyperCard 1.2.2 or later
  147. on checkVersion
  148.   if the version < 1.2 then
  149.     answer "You need HyperCard 1.2 or later."
  150.     visual dissolve
  151.     go home
  152.   end if
  153. end checkVersion
  154.  
  155. -- set up the environment
  156. on setupStuff
  157.   hide menubar
  158.   hide msg
  159.   TitleBar hide
  160.   put the userLevel into line 3 of cd fld "BookMark" of cd "Hi"
  161.   set the userLevel to 5
  162.   setVolume 3
  163. end setupStuff
  164.  
  165. -- get the Microprocessor and set up the necessary globals
  166. on setGlobals
  167.   global WalkDelay,DisSpeed,StdDelay,MapMode,UpEdge
  168.   put word 2 of item 3 of sysenv() into SysMp
  169.   if SysMp is "68000" then
  170.     put 0 into WalkDelay
  171.     put "dissolve fast" into DisSpeed
  172.     put 2 into StdDelay
  173.   else
  174.     put 5 into WalkDelay
  175.     put "dissolve" into DisSpeed
  176.     put 10 into StdDelay
  177.   end if
  178.   put "graph" into MapMode
  179.   put 23 into UpEdge
  180. end setGlobals
  181.  
  182. -- ask whether to reset the stacks
  183. on resetStacks
  184.   answer "Do you want to save your place?" with "No" or "Yes"
  185.   lock screen
  186.   if it is "No" then
  187.     set cursor to watch
  188.     resetMenus
  189.     resetMap
  190.     resetSA
  191.     put empty into cd fld "Bookmark" of cd "Hi"
  192.   else
  193.     global cameFrom,stakName
  194.     if cameFrom is empty then
  195.       put the short name of this cd into CameFrom
  196.       put the short name of this stack into stakName
  197.     end if
  198.     put cameFrom into line 1 of cd fld "BookMark" of cd "Hi"
  199.     put stakName into line 2 of cd fld "BookMark" of cd "Hi"
  200.   end if
  201.   global gFirstTime,CameFrom,stakName
  202.   put empty into gFirstTime
  203.   put empty into CameFrom
  204.   put empty into stakName
  205.   TitleBar show
  206.   if (line 3 of cd fld "BookMark" of cd "Hi") is not empty then set userLevel to line 3 of cd fld "BookMark" of cd "Hi"
  207.   put empty into line 3 of cd fld "BookMark" of cd "Hi"
  208.   show menuBar
  209.   unlock screen with visual dissolve
  210. end resetStacks
  211.  
  212. -- reset the flags and menus
  213. on resetMenus
  214.   -- reset the flag flds for main menu animation
  215.   resetFlags
  216.   -- Basics Menu: reset the item boxes
  217.   resetBxs "section 1:", "chkbx", 7
  218.   -- Nuts & Bolts Menu: reset both sets of item boxes
  219.   resetBxs "section 2:1", "chkbxa", 11
  220.   resetBxs "section 2:2", "chkbxa", 9
  221.   -- Nuts & Bolts Menu: reset Intro section
  222.   set the icon of btn "checkboxA" of cd "section 2:" to "box_"
  223.   set the icon of btn "checkboxB" of cd "section 2:" to "box_"
  224.   set the icon of btn "checkboxA" of cd "section 2:1" to "box_"
  225.   set the icon of btn "checkboxB" of cd "section 2:1" to "box_"
  226.   set the icon of btn "checkboxA" of cd "section 2:2" to "box_"
  227.   set the icon of btn "checkboxB" of cd "section 2:2" to "box_"
  228.   -- Support Menu: reset the item boxes
  229.   resetBxs "section 3:", "chkbx", 6
  230. end resetMenus
  231.  
  232. -- go to stack "‚Ä¢HC 2.0-3" (map) and dehilite all the btns
  233. on resetMap
  234.   set lockMessages to true
  235.   push cd
  236.   go stack "‚Ä¢HC 2.0-3"
  237.   repeat with i = 1 to number of cds-1
  238.     go cd i
  239.     dehilite
  240.   end repeat
  241.   pop cd
  242.   set lockMessages to false
  243. end resetMap
  244.  
  245. -- go to stack "‚Ä¢HC 2.0-4" (self-assessments) and reset all the cds
  246. on resetSA
  247.   set lockMessages to true
  248.   push cd
  249.   go stack "‚Ä¢HC 2.0-4"
  250.   repeat number(cds)
  251.     send resetCd to this cd
  252.     go next
  253.   end repeat
  254.   pop cd
  255.   set lockMessages to false
  256. end resetSA
  257.  
  258.  
  259. -- reset the flag flds for main menu animation (only shown 1st time)
  260. on resetFlags
  261.   put "first time" into cd fld "section 1:" of cd "go to main menu"
  262.   put "first time" into cd fld "section 2:" of cd "go to main menu"
  263.   put "first time" into cd fld "section 3:" of cd "go to main menu"
  264. end resetFlags
  265.  
  266. -- reset checkbox buttons to show a number instead of a checkmark
  267. on resetBxs CdName, BtnName, NumBxs
  268.   repeat with i=1 to NumBxs
  269.     set the icon of btn (BtnName & i) of cd CdName to ("box" & i)
  270.   end repeat
  271. end resetBxs
  272.  
  273. --------------------------------------------------------
  274. -- GENERAL HANDLERS
  275.  
  276. -- standard 'go next' command
  277. on goNext
  278.   lock screen
  279.   go next
  280.   unlock screen with dissolve
  281.   --  exit to HyperCard
  282. end goNext
  283.  
  284. -- standard 'go prev' command
  285. on goPrev
  286.   lock screen
  287.   go prev
  288.   unlock screen with dissolve
  289. end goPrev
  290.  
  291. -- Flash a button
  292. on hilite object, times, delay
  293.   repeat times
  294.     set the hilite of object to true
  295.     wait delay ticks
  296.     set the hilite of object to false
  297.   end repeat
  298. end hilite
  299.  
  300. -- Get text from cd fld "Text" and dump it into cd fld "TextDisplay"
  301. on DisplayText num
  302.   put (offset("["& num & "]", cd field "text")+4) into firstChar
  303.   put (offset("[" & (Num + 1) & "]", cd field "text")-2) into lastChar
  304.   if lastChar > 0 then
  305.     lock screen
  306.     put char firstChar to lastChar of cd field "text" into cd field "TextDisplay"
  307.     unlock screen with wipe right
  308.   end if
  309. end DisplayText
  310.  
  311. --===================
  312.  
  313. -- These handlers trap for arrow keys and menus
  314. -- so they can't be used to navigate.
  315.  
  316. on arrowKey
  317. end arrowKey
  318.  
  319. on enterKey
  320. end enterKey
  321.  
  322. on returnKey
  323. end returnKey
  324.  
  325. on doMenu menuChoice
  326.   if menuChoice is in "Home,Quit HyperCard,Help,New Stack...,Open Stack..." then
  327.     resetStacks
  328.     --‚Ä¢‚Ä¢ Added by Medior, Inc. 8/8/90
  329.     global RPStackName
  330.     if RPStackName is not empty then
  331.       set cursor to watch
  332.       put RPStackName into shortname
  333.       repeat until offset(":",shortname) = 0
  334.         delete char 1 to offset(":",shortname) of shortname
  335.       end repeat
  336.       delete last char of shortname
  337.       answer "This will return to "&shortname&"." with "Cancel" or "OK"
  338.       if it is "Cancel" then exit domenu
  339.       set cursor to watch
  340.       lock screen
  341.       go RPStackName
  342.       unlock screen with dissolve fast
  343.       exit domenu
  344.     end if
  345.     --‚Ä¢‚Ä¢
  346.   else if menuChoice is in "Back,Recent,First,Prev,Next,Last" or menuChoice is in "Find...,Message,New Card,Delete Card,Cut Card" then
  347.     exit to HyperCard
  348.   end if
  349.   pass doMenu
  350. end doMenu
  351.